/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.pedidos.servidor.entity;

import br.com.pedidos.servidor.util.Constantes;
import java.io.Serializable;
import java.util.List;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Transient;
import org.hibernate.annotations.LazyCollection;
import org.hibernate.annotations.LazyCollectionOption;

/**
 *
 * @author Voicer02
 */
@Entity(name = "Mesa")
@Table(name = "Mesa")
public class Mesa implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private int numero;

    private int quantidadeTotal;
    private String pedidosPorCliente;

    private String background;

    @Transient
    private String status;

    @OneToMany(mappedBy = "mesa")
    @LazyCollection(LazyCollectionOption.TRUE)
    private List<Pedido> pedidos;

    public Mesa() {
        background = Constantes.BRANCO;
        status = Constantes.MESA_LIVRE;
    }

    @Override
    public int hashCode() {
        int hash = 7;
        hash = 73 * hash + this.numero;
        return hash;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final Mesa other = (Mesa) obj;
        return this.numero == other.numero;
    }

    public int getNumero() {
        return numero;
    }

    public void setNumero(int numero) {
        this.numero = numero;
    }

    public List<Pedido> getPedidos() {
        return pedidos;
    }

    public void setPedidos(List<Pedido> pedidos) {
        this.pedidos = pedidos;
    }

    public String getBackground() {
        return background;
    }

    public void setBackground(String background) {
        this.background = background;
    }

    public String getPedidosPorCliente() {
        return pedidosPorCliente;
    }

    public void setPedidosPorCliente(String pedidosPorCliente) {
        this.pedidosPorCliente = pedidosPorCliente;
    }

    public int getQuantidadeTotal() {
        return quantidadeTotal;
    }

    public void setQuantidadeTotal(int quantidadeTotal) {
        this.quantidadeTotal = quantidadeTotal;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

}
